func main() {
	dsn := "host=127.0.0.1 port=5432 user=postgres dbname=postgres password=root sslmode=disable TimeZone=Asia/Shanghai"
	db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
	if err != nil {
		log.Println(err)
	}

	//将数据库里的表格和定义的模型结构体保持一致，如果数据库里没有表的话会自动创建表，如果是模型里有的字段，数据里没有也会自动新建，还有键、约束和索引，并且会更改现有列的类型（如果其大小、精度、是否为空可更改的话）
	db.AutoMigrate(&models.Users{})
	a := &models.Users{Name: "测试", Age: 18}
	result := db.Create(a)
	log.Println(a.Id)                // 返回插入数据的主键
	log.Println(result.Error)        // 返回 error
	log.Println(result.RowsAffected) // 返回插入记录的条数
	//批量插入
	b := []models.Users{{Name: "测试1", Age: 19}, {Name: "测试2", Age: 20}, {Name: "测试3", Age: 21}}
	result1 := db.Create(&b)
	log.Println(b[0].Id)              // 返回插入数据的主键
	log.Println(result1.Error)        // 返回 error
	log.Println(result1.RowsAffected) // 返回插入记录的条数
}
